/**
@brief Coffre <br> Permet l'interraction avec un coffre. Prendre ou mettre des objets dedans.
@author Chay Damien, Dahan Geslain
@file Coffre.cpp
@version 1.0
@date 2012/11/15
*/


#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>
#include "Coffre.h"

//Mutateur

void setTypeCoff(Coffre *Coff, typeCoffre typeC)
{
    Coff-> typeC = typeC;
}
void setPositionCoffre(Coffre *Coff, int x, int y)
{
    setPosX(&Coff->positionCoffre, x);
    setPosY(&Coff->positionCoffre, y);
}
void setObjetCoffre(Coffre *Coff,Objet Contenu , int i)
{
    Coff->objetCoffre[i] = Contenu;

}
void setNombreObjet(Coffre *Coff, int nombreObjet)
{
    Coff-> nombreObjet = nombreObjet;
}

//Accesseur

typeCoffre getTypeCoff(const Coffre *Coff)
{
    return Coff->typeC;
}
Position *getPosition(const Coffre *Coff)
{
    return (Position*) &Coff->positionCoffre;
}
int getNombreObjet(const Coffre *Coff)
{
    return Coff-> nombreObjet;
}
Objet* getObjetCoffre(const Coffre *Coff)
{
    return (Objet*)Coff->objetCoffre;
}
Objet* getObjetCoffre(const Coffre *Coff, int i)
{
    return (Objet*) &Coff->objetCoffre[i];
}

//Fonctions

void InitCoffre(Coffre *Coff, typeCoffre typeC ,int x, int y, int nombreObjet)
{
    setPosX(&Coff->positionCoffre, x);
    setPosY(&Coff->positionCoffre, y);
    Coff->typeC = typeC;
    Coff->nombreObjet = nombreObjet;

    for(int i = 0 ; i< 20 ; i ++)
    {
        initObj(&Coff->objetCoffre[i]);
    }

}

bool TestCoffreVide(Coffre* coff)
{
    for(int i = 0 ; i < 20 ; i++)
    {
        if(getTypeObjet(&coff->objetCoffre[i]) != RIEN)
            return false;
    }

    return true;
}
//void ajoutObjetCoffre
//void ajoutObjetCoffreRandom
